Audio processing context. More...
#include <ivstprocesscontext.h>
Public Types | |
enum | StatesAndFlags { kPlaying = 1 << 1, kCycleActive = 1 << 2, kRecording = 1 << 3, kSystemTimeValid = 1 << 8, kContTimeValid = 1 << 17, kProjectTimeMusicValid = 1 << 9, kBarPositionValid = 1 << 11, kCycleValid = 1 << 12, kTempoValid = 1 << 10, kTimeSigValid = 1 << 13, kChordValid = 1 << 18, kSmpteValid = 1 << 14, kClockValid = 1 << 15 } |
Transport state & other flags. More... | |
Data Fields | |
uint32 | state |
a combination of the values from StatesAndFlags | |
double | sampleRate |
current sample rate (always valid) | |
TSamples | projectTimeSamples |
project time in samples (always valid) | |
int64 | systemTime |
system time in nanoseconds (optional) | |
TSamples | continousTimeSamples |
project time, without loop (optional) | |
TQuarterNotes | projectTimeMusic |
musical position in quarter notes (1.0 equals 1 quarter note) | |
TQuarterNotes | barPositionMusic |
last bar start position, in quarter notes | |
TQuarterNotes | cycleStartMusic |
cycle start in quarter notes | |
TQuarterNotes | cycleEndMusic |
cycle end in quarter notes | |
double | tempo |
tempo in BPM (Beats Per Minute) | |
int32 | timeSigNumerator |
time signature numerator (e.g. 3 for 3/4) | |
int32 | timeSigDenominator |
time signature denominator (e.g. 4 for 3/4) | |
Chord | chord |
musical info | |
int32 | smpteOffsetSubframes |
SMPTE (sync) offset in subframes (1/80 of frame). | |
FrameRate | frameRate |
frame rate | |
int32 | samplesToNextClock |
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest). |
Audio processing context.
For each processing block the host provides timing information and musical parameters that can change over time. For a host that supports jumps (like cycle) it is possible to split up a processing block into multiple parts in order to provide a correct project time inside of every block, but this behaviour is not mandatory. Since the timing will be correct at the beginning of the next block again, a host that is dependent on a fixed processing block size can choose to neglect this problem.
enum StatesAndFlags |
Transport state & other flags.
a combination of the values from StatesAndFlags
double sampleRate |
current sample rate (always valid)
project time in samples (always valid)
system time in nanoseconds (optional)
project time, without loop (optional)
musical position in quarter notes (1.0 equals 1 quarter note)
last bar start position, in quarter notes
cycle start in quarter notes
cycle end in quarter notes
double tempo |
tempo in BPM (Beats Per Minute)
time signature numerator (e.g. 3 for 3/4)
time signature denominator (e.g. 4 for 3/4)
SMPTE (sync) offset in subframes (1/80 of frame).
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest).